The grid computing model treats resources of computing systems in a manner analogous to the way in which a power grid supplies electricity. In the grid computing model, multiple data centers collectively provide resources to various users. The users are generally unaware of the identity of the particular data center providing a resource in much the same way that users of electricity are unaware of which power generators are currently contributing to the local power supply.
Situations may arise where users' demands on a data center exceed or are different from the capabilities of one data center. For example, a business user's data storage needs are likely to grow as the user's business grows. In this situation additional storage resources must be found to meet the user's needs. Rather than physically expand the resources of one data center to meet growing needs, other data centers are called upon to provide the necessary resources. A similar situation may arise in the services that are provided by data centers and the services needed by clients.
Current methods for matching resource demands with resource supplies in data centers are often managed by operators. Users of applications interact with human operators in order to request additional resources or release unneeded resources. Thus, it is left to operators to recognize and respond to changes in resource requirements and capabilities in data centers. Operators, however, in responding to resource requests may have difficulty finding optimal matches in large combinatorial allocation spaces. Furthermore, manually managing the resource allocations of data centers presents large operation costs and creates the risk of human-introduced errors. Errors in resource allocation may affect the availability of resources and entire data centers, and also result in lost revenue.
Further complicating the management of resources allocated between data centers is the exchange of information that describes the resources and requirements. Not only must steps be taken to initially establish relationships between data centers, but the exchange of information between data centers requires an agreed-upon format for the information—possibly leading to quadratic growth in information exchange formats. The manager of data center resource information must also devise a way to keep the information current so that decisions are not made based on dated and inaccurate information.
A system and method that address the aforementioned problems and automates the matching of resource demands with resource supplies, as well as other related problems, are therefore desirable.